package gameStates.absGamesStates.network;

import networking.messages.SimpleMessage;

import com.jme.math.Vector3f;

import logic.common.player.Player;
import logic.nodes.collision.CollidableNode;
import logic.ships.Ship;
import logic.ships.hunter.Hunter;
import logic.weapons.WeaponFire;

public interface AbsServerState extends AbsNetworkState {
	
	public void registerTransmittedHunter(Hunter hunter, short playerId);
	
	public void initServer(String ip);
	
	public void registerNewShip(Ship ship);
	
	public void handleExplosion(WeaponFire weaponFire, CollidableNode other);
	
	public void registerPlayer(Player player);
	
	public void sendCMUseMessage(int playerID);
	
	public boolean isTooFarAway(Vector3f location, short id);
	
	public void sendMessageTo(SimpleMessage message, short playerId);

	public void sendPingMessage(short playerId);
}